const APP = {

	ratio: 1, // 区分手机分辨率计算页面高度比例

	// 少于10补零
	fnAddZero: function(_num) {
		return _num < 10 ? '0' + _num : _num
	},
	// 格式化时间戳 时间戳->2019-07-25
	fnGetDateFormat: function(_unix, format = 'YYYY-MM-DD HH:mm:ss') {
		let _myDate = new Date(_unix * 1000);
		let _year = _myDate.getFullYear();
		let _month = APP.fnAddZero(_myDate.getMonth() + 1);
		let _day = APP.fnAddZero(_myDate.getDate());
		let _hours = APP.fnAddZero(_myDate.getHours());
		let _minutes = APP.fnAddZero(_myDate.getMinutes());
		let _seconds = APP.fnAddZero(_myDate.getSeconds());

		// 根据自定义格式构建返回字符串
		let formattedDateTime = format
			.replace('YYYY', _year)
			.replace('MM', _month)
			.replace('DD', _day)
			.replace('HH', _hours)
			.replace('mm', _minutes)
			.replace('ss', _seconds);

		return formattedDateTime;
	},
	// 设备在线状态
	fnOnlineStatusText: function(_heartbeatTime) {
		let _text = _heartbeatTime ? '' : '离线'
		let _status = 0
		let _time = new Date().getTime()
		let _differentTime = 1000 * 60 * 2 // 心跳间隔时间，两分钟

		if (_heartbeatTime) {
			let _different = _time - _heartbeatTime * 1000
			_text = _different >= _differentTime ? '离线' : '在线'
			_status = _different >= _differentTime ? 0 : 1
		}

		let _obj = {
			text: _text,
			status: _status,
		}
		return _obj
	},
	// 塔机/扬尘/升降机--设备运行状态
	fnAccessStatusToText: function(_status, _name) {
		// 塔机运行状态
		// _status = '21000000'
		//设备状态 0bit高度;1bit幅度;2bit回转;3bit载重;4bit力矩;5bit风速;6bit倾角;7bit其它;
		//高度 、载重、力矩、风速、倾角、其它 0:正常,1:预警 2:报警
		//幅度 0:正常 1:近端限位预警 2:近端限位报警；3:远端限位预警 4:远端限位报警
		//回转 0:正常 1:左限位预警 2:左限位报警 3:右限位预警 4:右限位报警
		let _statusInfo = [
			['高度正常', '高度预警', '高度报警'],
			['幅度近端限位正常', '幅度近端限位预警', '幅度近端限位报警', '幅度远端限位预警', '幅度远端限位报警'],
			['回转左限位正常', '回转左限位预警', '回转左限位报警', '回转右限位预警', '回转右限位报警'],
			['载重正常', '载重预警', '载重报警'],
			['力矩正常', '力矩预警', '力矩报警'],
			['风速正常', '风速预警', '风速报警'],
			['倾角正常', '倾角预警', '倾角报警'],
			['其它正常', '其它预警', '其它报警'],
		]

		let _obj = {
			text: [],
			msg: '正常',
			status: 0,
			textArr: []
		}

		for (let i = 0; i < _status.length; i++) {
			_obj.textArr.push({
				text: _statusInfo[i][_status[i]],
				status: _status[i]
			})
			if (_status[i] != APP.NO) {
				_obj.text.push(_statusInfo[i][_status[i]])
			}
		}
		let _text = JSON.stringify(_obj.text)
		if (_text.indexOf('预警') != -1) {
			_obj.msg = '预警'
			_obj.status = 1
		}
		if (_text.indexOf('报警') != -1) {
			_obj.msg = '报警'
			_obj.status = 2
		}
		if (!_obj.text.length) {
			_obj.text.push('正常')
		}
		_obj.text = _obj.text.join(',')
		return _obj
	},
}

export default APP